#pragma once

namespace StillDesign
{
	namespace NvApi
	{
		public value class ChipSetInfo
		{
			private:
				int _version;
				int _vendorId;
				int _deviceId;
				String^ _vendorName;
				String^ _chipSetName;
				int _flags;
				int _subSysVendorId;
				int _subSysDeviceId;
				String^ _subSysVendorName;
				
			internal:
				static ChipSetInfo ToManaged( NV_CHIPSET_INFO info );
				
			public:
				property int Version
				{
					int get();
				}
				property int VendorId
				{
					int get();
				}
				property int DeviceId
				{
					int get();
				}
				property String^ VendorName
				{
					String^ get();
				}
				property String^ ChipSetName
				{
					String^ get();
				}
				property int Flags
				{
					int get();
				}
				property int SubSystemVendorId
				{
					int get();
				}
				property int SubSystemDeviceId
				{
					int get();
				}
				property String^ SubSystemVendorName
				{
					String^ get();
				}
		};
	};
};